A simple and cost-effective variant of the controller area network (CAN) bus, the so-called serial linked IO (SLIO) CAN, is discussed in the related art. The SLIO CAN was developed by Robert Bosch GmbH, and is manufactured and marketed by Philips Semiconductors under the name “P82C150.” More detailed information concerning the SLIO may be obtained from the Philips Semiconductors “P82C150” specification sheet dated Jun. 19, 1996. In the SLIO, an association of a high-precision clock generator, for example a quartz crystal, with each user node of the communication system is dispensed with. Only the master SLIO user node(s) has/have such a precise clock generator. The remaining SLIO user nodes operate using an internal RC oscillator as a clock generator, which is able to operate without external elements such as quartz crystals or ceramic resonators, and which therefore is relatively imprecise. To obtain a system clock signal which is sufficiently precise for the CAN communication, each of the SLIO user nodes contains a calibration control system which calibrates the relatively imprecise RC clock. The calibration for the SLIO CAN is carried out in two steps, and is subdivided into a rough calibration and a subsequent fine calibration. In rough calibration, the calibration control system starts by searching the received bit patterns on the CAN bus for the smallest distance between two consecutive edges from recessive to dominant (measured in oscillator periods). This distance is assumed to be the time for two CAN bit times, and the clock divider, which generates the system clock signal of the CAN protocol control system, is set in such a way that the CAN protocol control system operates at maximum precision using this CAN bit time. The search for smaller distances between two consecutive edges from recessive to dominant is discontinued as soon as the CAN protocol control system, which operates using the instantaneously set system clock signal, accepts a received CAN message as valid; the rough calibration is thus concluded.
Fine calibration of the SLIO CAN is carried out using special calibration messages which are regularly transmitted via the CAN bus by one or multiple SLIO masters which have a high-precision clock generator, for example in the form of a quartz crystal. The calibration message is uniquely defined as a calibration message on the basis of its message identifier (identifier field of the data frame). In addition, the content of the calibration message, in particular the content of the data field of the message, is predetermined for the SLIO CAN. The calibration message includes two edges, from recessive to dominant, spaced exactly 32 bits apart. When the first edge from recessive to dominant occurs, a counter for the oscillator clock signals is started in the SLIO users having an RC oscillator, and it is stopped when the second edge occurs. For the SLIO CAN it is also predetermined that ten system clock signals (CAN time quanta; tq) correspond to one CAN bit time. This is specified in the SLIO user nodes in the form of hardware. After receipt of the 32 bits in the calibration message, the counter should therefore be at a value which corresponds to 320 system clock signals. A divider ratio of a clock divider is then ascertained which converts the oscillator clock signal to a system clock signal. The denominator of the clock ratio is always 320 for the SLIO CAN. The actual counter content following the 32 bits is contained in the counter.
Thus, a disadvantage of the known SLIO is that special calibration messages must be provided which occupy a portion of the bandwidth of the CAN bus, and cannot be used for transmitting the actual payload data. Therefore, less bandwidth is available for transmitting the actual payload data. Another disadvantage of the known SLIO results from the fact that by definition, an SLIO user node is not able to transmit, including acknowledge bits (ACK), if it has received no valid calibration messages. As a result, in the event that a network is composed only of one SLIO master, which transmits calibration messages, and multiple SLIO nodes having RC oscillators, the SLIO master first enters into a so-called error passive state before communication via the CAN bus is able to start. As long as the SLIO master is in the so-called error active state, it destroys its own calibration messages, using active error frames, due to missing acknowledge bits. In such a case, a relatively long period of time passes until communication via the CAN bus may be started. In some cases it is even impossible to start communication since no synchronization of the SLIO user nodes takes place. In practice, these problems are controllable only with great difficulty, and require a high level of effort and expense.
Based on the described related art, the object of the present invention is to propose, in a communication system which has user nodes having relatively imprecise clock generators, a simple and cost-efficient option which allows the clock generators of the user nodes to be quickly and reliably calibrated to a system clock signal.